RAIS  3.2
C:/Projekte/RAIS/dataaccesslayer/DataAccessUtilities.cs
Go to the documentation of this file.
00001 
00029 using System;
00030 using System.Collections.Generic;
00031 using System.Configuration;
00032 using System.Data;
00033 using System.Data.SqlClient;
00034 using System.Text;
00035 using System.Xml;
00036 
00037 
00038 namespace RAIS.DataAccessLayer
00039 {
00043         public class DataAccessUtilities
00044         {
00048                 public static String ConnectionString
00049                 {
00050                         get
00051                         {
00052                                 ConnectionStringSettings connection =
00053                                         ConfigurationManager.ConnectionStrings[Constants.RAIS_CONNECTION_STRING_NAME];
00054 
00055                                 if (connection != null)
00056                                 {
00057                    return connection.ConnectionString;
00058                     //return @"Data Source=TEST-C53F15A305\MSSQL08;Initial Catalog=rais_changed;Persist Security Info=True;User ID=sa;Password=sa";
00059                     //return @"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\rais_08_06_2011_new\RAIS_Demo_DB_21_05_2011\rais.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
00060                     //return @"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\rais_db_test\rais.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
00061                 }
00062                                 else
00063                                 {
00064                                         throw new ApplicationException("Connection string is not specified in config file.");
00065                                 }
00066                         }
00067                 }
00068 
00078                 public static SqlParameter AddParameter(SqlCommand command, string parameterName, object parameterValue)
00079                 {
00080                         return AddParameter(command, parameterName, parameterValue, ParameterDirection.Input);
00081                 }
00082 
00083                 public static SqlParameter AddParameter(SqlCommand command, string parameterName, object parameterValue,
00084                                                                                                 ParameterDirection direction)
00085                 {
00086                         SqlParameter parameter = command.CreateParameter();
00087                         parameter.ParameterName = parameterName;
00088                         parameter.Direction = direction;
00089 
00090                         parameter.SqlDbType = SqlDbType.NVarChar;
00091 
00092                         if (parameterValue == null)
00093                         {
00094                                 parameterValue = DBNull.Value;
00095                         }
00096 
00097                         if (parameterValue is byte || parameterValue is byte?)
00098                         {
00099                                 parameter.SqlDbType = SqlDbType.TinyInt;
00100                         }
00101                         else if (parameterValue is int || parameterValue is int?)
00102                         {
00103                                 parameter.SqlDbType = SqlDbType.Int;
00104                         }
00105                         else if (parameterValue is bool || parameterValue is bool?)
00106                         {
00107                                 parameter.SqlDbType = SqlDbType.TinyInt;
00108                                 parameterValue = ((bool)parameterValue ? 1 : 0);
00109                         }
00110                         else if (parameterValue is DateTime || parameterValue is DateTime?)
00111                         {
00112                                 parameter.SqlDbType = SqlDbType.DateTime;
00113                         }
00114 
00115                         parameter.Value = parameterValue;
00116 
00117                         command.Parameters.Add(parameter);
00118 
00119                         return parameter;
00120                 }
00121         }
00122 }